import java.util.Scanner;

public class Test {
    public static void main(String[] args) {
        Scanner scan = new Scanner(System.in);
        while (scan.hasNextLine()){
            String str = scan.nextLine();//使用字符串str来接收输入的字符
            String ret = func(str);
            System.out.println(ret);
        }
    }
    private static String func(String str){
        boolean[] flg = new boolean[123];//建立一个数组，默认其中的元素都为false
        StringBuilder sb = new StringBuilder();//建立一个StringBuilder类型的字符串用来存放第一次出现的字符
        /*遍历str字符串，将其中的元素在flg数组中对应的位置全部变为true。
        并将其放入StringBuilder字符串中
        如果flg哪个位置的元素不是false，就说明这个下标对应的字母已经出现过了*/
        for (int i = 0;i < str.length();i++){
            char ch = str.charAt(i);
            if (flg[ch] == false){
                sb.append(ch);
                flg[ch] = true;
            }
        }
        return sb.toString();//返回 存放  第一次出现的字符  的字符串
    }
    public void merge(int A[],int m,int B[],int n) {
        /*从后往前排大小*/
        int i = m - 1;
        int j = n - 1;
        int k = m + n - 1;
        while (i >= 0 && j >= 0) {
            if (A[i] <= B[j]) {
                A[k] = B[j];
                j--;
                k--;
            } else {
                A[k] = A[i];
                k--;
                i--;
            }
        }
        while (j >= 0) {
            if (A[i] <= B[j]) {
                A[k] = B[j];
                j--;
                k--;
            }
        }
    }
}

